package cn.kgc.vue.service;

import cn.kgc.vue.commons.QueryCondition;
import cn.kgc.vue.entity.User;
import cn.kgc.vue.form.UserForm;
import cn.kgc.vue.response.ResponseResult;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.servlet.http.HttpServletRequest;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @author mengshun
* @description 针对表【sys_user】的数据库操作Service
* @createDate 2024-09-20 13:48:02
*/
public interface UserService extends IService<User> {

    ResponseResult createCaptcha();

    ResponseResult login(HashMap<String, Object> params, HttpServletRequest request);

    ResponseResult logout(HttpServletRequest request);

    ResponseResult userPage(QueryCondition<User> queryCondition);

    ResponseResult addUser(UserForm userForm);

    ResponseResult editUser(UserForm userForm);

    ResponseResult batchDelete(List<Integer> ids);

    ResponseResult getPersonalInfo(HttpServletRequest request);

    ResponseResult editPersonalInfo(UserForm userForm);

    ResponseResult editPersonalPassword(Map<String, String> params,HttpServletRequest request);

    ResponseResult menuList(HttpServletRequest request);
}
